parser grammar MyParser;

options {
    output = AST;
    tokenVocab = MyLexer;
    ASTLabelType = Node;
}

@header {/*Here you can write a part of code to be written into the java class*/
    package compiler;
    import compiler.node.Node;
}

program: statement* EOF^;
statement: negatedFactor ((CONJUNCION | INCOMPATIBILIDAD | DISYUNCION_INCLUSIVA | DISYUNCION_EXCLUSIVA | NEGACION_CONJUNTA | BICONDICIONAL | CONDICIONAL)^ negatedFactor)*;
negatedFactor: NEGACION^? factor;
factor: VARIABLE | OPEN_PARENTHESIS! statement CLOSE_PARENTHESIS!;
/* Statements*/

/* Expressions */
